import { defineStore } from "pinia";
import { ref } from 'vue';

/*
    defineStore参数描述：
        第一个参数：给状态起名，具有唯一性
        第二个参数：函数，可以把定义该状态拥有的内容
 
    defineStore返回值描述：
        返回的是一个函数，将来可以调用该函数，得到第二个参数中返回的内容
*/
export const useTokenStore = defineStore('token', () => {
    //1.定义描述token
    // const token = sessionStorage.getItem('token') ? toRef(sessionStorage.getItem('token')) : ref('')
    const obj = sessionStorage.getItem('userInfo');
    const token = ref({})
    if (obj !== null) {
        token.value = JSON.parse(obj);
        // 使用 parsedUserInfo
    }
    //2.定义修改token的方法
    const setToken = (newToken: string) => {
        token.value = newToken
    }

    //3.定义移除token的方法
    const removeToken = () => {
        token.value = ''
    }
    return {
        token, setToken, removeToken
    }
})
